#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
#include"hash.h"

#define M 71
namespace H0
{
	void test1()
	{
		/*HashTable<string, int> h;
		h.Insert({ "abd", 19 });
		h.Insert({ "85", 30});
		h.Insert({ "/dso", 5});*/
		/*h.Insert({ 36, 36 });
		h.Insert({ 13, 13 });
		h.Insert({ 20, 20 });
		h.Insert({ 21, 21 });
		h.Insert({ 12, 12 });
		h.Insert({ 57,57 });
		h.Insert({ 66, 66 });*/

		//h.Erase(5);
	}

	void test2()
	{
		HashTable<int, int> hash;
		hash.Insert({ 19,19 });
		hash.Insert({ 30,30 });
		hash.Insert({ 5,5 });
		hash.Insert({ 36,36 });
		hash.Insert({ 13,13 });
		hash.Insert({ 20,20 });
		hash.Insert({ 21,21 });
		hash.Insert({ 12,12 });

		hash.Insert({ 71,71 });
		hash.Insert({ 125,125 });
		hash.Insert({ 38,38 });
		//hash.Insert({ 485,485 });
		//cout << hash.Erase(5) << endl;
		/*cout << hash.Erase(12) << endl;
		cout << hash.Erase(6) << endl;
		cout << hash.Erase(38) << endl;*/

		if (hash.Find(M))
			cout << hash.Find(M)->_kv.first << endl;
		else
			cout << hash.Find(M) << endl;

	}
}
int main()
{
	H0::test2();
	return 0;
}